//
//#include <iostream>
//#include <string>
//#include <vector>
//#include <assert.h>
//#include <algorithm>
//using namespace std;
//std::vector<int> v_intersection(0);
//
//
//void tu(vector<int> i) {
//    if (v_intersection[i[0]] == 1) {
//        if(v_intersection[i[1]] == 0){
//            v_intersection[i[1]] == 1;
//        }
//    }
//}
//bool canFinish(int numCourses, vector<vector<int>>& prerequisites) {
//    vector<int> result;
//
//    
//    //set_difference((prerequisites.begin())[0], (prerequisites.end())[0], (prerequisites.begin())[1], (prerequisites.end())[1], std::back_inserter(v_intersection));
//  //  set_difference((prerequisites[0].begin()), (prerequisites[0].end()), (prerequisites[1].begin()), (prerequisites[1].end()), std::back_inserter(v_intersection));
//  
//    for (vector<int> i : prerequisites){
//        v_intersection[i[1]] = 1;
//        //cout << "i[0]:" << i[0] << " i[1]:" << i[0] << endl;
//    }
//    for (vector<int> i : prerequisites) {
//        v_intersection[i[0]] = 0;
//        //cout << "i[0]:" << i[0] << " i[1]:" << i[0] << endl;
//    }
//
//    for (vector<int> i : prerequisites) {
//
//      /*  tu(i) {
//        
//        }*/
//        
//        ;
//
//    }
//
//    return false;
//}
//
//int main1()
//{
//    std::cout << "Hello World!\n";
//    vector<int> k1;
//    k1.push_back(1);
//    k1.push_back(0);
//
//    vector<int> k2;
//    k2.push_back(0);
//    k2.push_back(1);
//
//    vector<vector<int>> kk;
//    kk.push_back(k1);
//    kk.push_back(k2);
//    bool xxxx = canFinish(2, kk);
//    /*assert(xxxx == "100010");
//    xxxx = addStrings("9911", "99");
//    assert(xxxx == "10010");
//    xxxx = addStrings("1", "1");
//    assert(xxxx == "2");*/
//    return 0;
//}